add_subdirectory(common)
add_subdirectory(cmd_line)
add_subdirectory(config)
add_subdirectory(console)
add_subdirectory(filesystem)
add_subdirectory(audio)
add_subdirectory(graphics)
add_subdirectory(logging)
add_subdirectory(math)
add_subdirectory(memory)
add_subdirectory(reflection)
add_subdirectory(serialization)
add_subdirectory(signals)
add_subdirectory(simulation)
add_subdirectory(system)
add_subdirectory(string_utils)
add_subdirectory(tasks)
add_subdirectory(uuid)

add_library (core INTERFACE)
target_include_directories (core INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/..)

target_link_libraries(core INTERFACE common_lib)
target_link_libraries(core INTERFACE cmd_line)
target_link_libraries(core INTERFACE config)
target_link_libraries(core INTERFACE console)
target_link_libraries(core INTERFACE filesystem)
target_link_libraries(core INTERFACE graphics)
target_link_libraries(core INTERFACE logging)
target_link_libraries(core INTERFACE math)
target_link_libraries(core INTERFACE memory)
target_link_libraries(core INTERFACE reflection)
target_link_libraries(core INTERFACE serialization)
target_link_libraries(core INTERFACE signals)
target_link_libraries(core INTERFACE simulation)
target_link_libraries(core INTERFACE system)
target_link_libraries(core INTERFACE string_utils)
target_link_libraries(core INTERFACE audio)
target_link_libraries(core INTERFACE uuid)
target_link_libraries(core INTERFACE tasks)
